/**
 * Element Plus组件类型工具函数
 * 创建时间：2025-09-16
 * 作者：开发团队
 * 目的：解决TypeScript严格模式下Element Plus组件的类型兼容性问题
 */

/**
 * Tag类型枚举
 */
export type TagType = 'success' | 'warning' | 'info' | 'error' | 'primary'

/**
 * Button类型枚举
 */
export type ButtonType = 'success' | 'warning' | 'info' | 'error' | 'primary'

/**
 * 获取Tag类型
 * :param type: 字符串类型的Tag类型
 * :return: 正确类型断言的Tag类型
 */
export const getTagType = (type: string): TagType => {
  switch (type) {
    case 'success':
      return 'success'
    case 'warning':
      return 'warning'
    case 'info':
      return 'info'
    case 'error':
      return 'error'
    case 'primary':
      return 'primary'
    default:
      return 'info'
  }
}

/**
 * 获取Button类型
 * :param type: 字符串类型的Button类型
 * :return: 正确类型断言的Button类型
 */
export const getButtonType = (type: string): ButtonType => {
  switch (type) {
    case 'success':
      return 'success'
    case 'warning':
      return 'warning'
    case 'info':
      return 'info'
    case 'error':
      return 'error'
    case 'primary':
      return 'primary'
    default:
      return 'primary'
  }
}